﻿function _Admision() {
    this.Clie_ID = null;
    this.CodigoConvocatoria = null;
    this.IdPostulante = null;

    this.FormaPago;
    this.CambiarFormaPago;

    this.Comprobante;
    this.DetalleBoleta;
    this.DetalleFactura;
    this.DireccionEnvio;
    this.FormVoucher;
    this.FormVisa;

    this.PreInit = function () {
        var _parent = this;


        //_parent.VisualizacionInicial();

        var form = _parent._getContForm();

        //Evento para la misma dirección
        form.find("#misma-direccion").click(function () {

            //console.log(form.find("#form-pago").find(".formapago:checked").val());

            var direccion = "";
            if (form.find("#form-pago").find(".formapago:checked").val() == "B") {
                direccion = form.find(".direccion-boleta").html();
                form.find("#direccionenvio").val(direccion);
            } else {
                direccion = form.find("#direccion").val();
                if (direccion != "") {
                    form.find("#direccionenvio").val(direccion);
                } else {
                    alert("Ingrese una dirección a la factura")
                    $(this).removeAttr("checked")
                }
            }
        });

        _parent.ValidacionCamposForm();
        _parent._CargarEventosForm();
    };

    this.ValidacionCamposForm = function () {
        var _parent = this;

        var form = _parent._getContForm();
        //Colocando la validacion del formulario
        form.find("#voucher").addClass("validate[required]");
    };



    this.VisualizacionInicial = function () {
        var _parent = this;

        //Evento inicial
        _parent.FormaPago.show();
        _parent.CambiarFormaPago.hide();

        _parent.Comprobante.hide();
        _parent.DetalleBoleta.hide();
        _parent.DetalleFactura.hide();
        _parent.DireccionEnvio.hide();
        _parent.FormVoucher.slideUp();
        _parent.FormVisa.slideUp();

    };

    this.LimpiarComprobantePago = function () {
        var _parent = this;
        var form = _parent._getContForm();

        $.each(form.find("#form-pago").find(".formapago"), function (index, value) {
            $(value).removeAttr("checked");
        });

    };

    this.VerVoucher = function () {
        var _parent = this;

        _parent.FormaPago.hide();
        _parent.Comprobante.show();
        _parent.FormVoucher.slideDown();
        _parent.FormVisa.hide();
        _parent.CambiarFormaPago.show();
        _parent.LimpiarComprobantePago();
        $("html, body").animate({ scrollTop: $(document).height() }, 1000);
    };

    this.VerVisa = function () {
        var _parent = this;

        _parent.FormaPago.hide();
        _parent.Comprobante.show();
        _parent.FormVisa.slideDown();
        _parent.FormVoucher.hide();
        _parent.CambiarFormaPago.show();
        _parent.LimpiarComprobantePago();
        $("html, body").animate({ scrollTop: $(document).height() }, 1000);
    };

    this.VerBoleta = function () {
        var _parent = this;


        _parent.DetalleBoleta.slideDown();        
        _parent.DetalleFactura.slideUp();
        _parent.DireccionEnvio.slideDown();

        _parent.DireccionEnvio.find("#misma-direccion").removeAttr("checked");
        _parent.DireccionEnvio.find("#direccionenvio").val("");
        $("html, body").animate({ scrollTop: $(document).height() }, 1000);
    };

    this.VerFactura = function () {
        var _parent = this;

        _parent.DetalleBoleta.slideUp();
        _parent.DetalleFactura.slideDown();
        _parent.DireccionEnvio.slideDown();

        _parent.DireccionEnvio.find("#misma-direccion").removeAttr("checked");
        _parent.DireccionEnvio.find("#direccionenvio").val("");
        $("html, body").animate({ scrollTop: $(document).height() }, 1000);
    };

    this._CargarEventosForm = function () {
        var _parent = this;
        var form = _parent._getContForm();


        //Configurando el stylo para el voucher
        _parent.StyleInputFile2(form.find("#voucher"));
        _parent._ValidacionExtensionArchivo(
            form.find("#voucher")
            , ["jpeg", "jpg", "pdf"]
            , "Formato de archivo incorrecto para el voucher"
            , "Los formatos permitidos son jpg, pdf"
            );


        _parent.Comprobante = form.find("#form-pago").find("#comprobante-pago");
        _parent.DetalleBoleta = form.find("#form-pago").find("#detalle-boleta");
        _parent.DetalleFactura = form.find("#form-pago").find("#detalle-factura");
        _parent.DireccionEnvio = form.find("#form-pago").find("#direccion-envio");
        _parent.FormVoucher = form.find("#form-pago").find("#form-voucher");
        _parent.FormVisa = form.find("#form-pago").find("#form-visa");
        _parent.FormaPago = form.find("#Boton_pago");
        _parent.CambiarFormaPago = form.find("#Boton_regresar");

        _parent.VisualizacionInicial();


        form.find("#form-pago").find(".formapago").click(function () {
            var obj = $(this);
            if (obj.val() == "F") {
                _parent.VerFactura();
            } else if (obj.val() == "B") {
                _parent.VerBoleta();
            }
        });

        //Evento para subir el voucher

        form.find("#form-pago").find(".pagar-inscripcion").click(function () {
            form.find("#form-pago").submit();
        });


        form.find("#form-pago").validationEngine({
            promptPosition: "topLeft",
            ajaxSubmit: true,
            onValidationComplete: function (formu, status) {
                if (status) {
                    var confirmacion = _parent._MensajeConfirmacion();

                    if (form.find("#form-pago").find("#formapago").val() == "voucher") {
                        confirmacion.titulo = "&iquest;Esta seguro de subir el archivo de la transferencia de pago?";
                        confirmacion.contenido = "Una vez enviado no podr&aacute; modificar el archivo.";
                    } else {
                        confirmacion.titulo = "&iquest;Esta seguro de pagar por este medio?";
                        confirmacion.contenido = "Necesita tener una tarjeta afiliada a Verified by Visa para poder hacer el pago satisfactorio"; 
                    }
                    confirmacion.yes = function () {
                        form.find("#form-pago").validationEngine('detach');
                        form.find("#form-pago").submit();
                    };
                    confirmacion.modal();
                }
            }
        });

        form.find("#pago_voucher").click(function () {
            form.find("#form-pago").find("#formapago").val("voucher");
            _parent.VerVoucher();
        });

        form.find("#pago_visa").click(function () {
            form.find("#form-pago").find("#formapago").val("visa");
            _parent.VerVisa();
        });

        form.find("#cambiar_forma_pago").click(function () {
            _parent.VisualizacionInicial();
        });
    };

};